package com.sunlake.spring.main.common.model.file.service;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;

import java.io.IOException;
import java.util.Map;

public interface FileDownloadService {


    /**
     * 获取简历文件的元信息（文件大小、是否支持断点续传、内容类型、文件名）
     */
    Map<String, Object> getFileMeta(Long fileId);

    /**
     * 整文件下载（不使用 Range）
     */
    void downloadFile(Long fileId, HttpServletResponse response) throws IOException;

    /**
     * 范围下载（断点续传） start 和 end 为包含的字节区间，end 为包含末尾的字节索引
     */
    void downloadFileRange(Long fileId, long start, long end, HttpServletResponse response) throws IOException;
}
